30 research outputs found

    A clustering based technique for large scale prioritization during requirements elicitation

    Get PDF
    We consider the prioritization problem in cases where the number of requirements to prioritize is large using a clustering technique. Clustering is a method used to find classes of data elements with respect to their attributes. KMeans, one of the most popular clustering algorithms, was adopted in this research. To utilize k-means algorithm for solving requirements prioritization problems, weights of attributes of requirement sets from relevant project stakeholders are required as input parameters. This paper showed that, the output of running k-means algorithm on requirement sets varies depending on the weights provided by relevant stakeholders. The proposed approach was validated using a requirement dataset known as RALIC. The results suggested that, a synthetic method with scrambled centroids is effective for prioritizing requirements using k-means clustering

    Identifying Suitable Representation Techniques for the Prioritization of Requirements and Their Interdependencies for Multiple Software Product Lines

    Get PDF
    Software requirements typically do not exist independently of each other, rather most requirements have some type of dependency on another requirement [4]. For companies developing software products, which depend on each other, in so-called multiple software product lines (SPLs), systematic requirements management, including consideration for prioritization and inter‐ dependencies, is a time-consuming and convoluted task. Representation techniques for complex requirements can convey critical requirements interdependency information to make prioritization of requirements quicker and more accurate [1]. Based on reviewing the foremost literature, this paper identifies the representation techniques for requirements management which are most suitable for multiple software product lines (SPLs

    Requirements Engineering

    Get PDF
    Requirements Engineering (RE) aims to ensure that systems meet the needs of their stakeholders including users, sponsors, and customers. Often consid- ered as one of the earliest activities in software engineering, it has developed into a set of activities that touch almost every step of the software development process. In this chapter, we reflect on how the need for RE was first recognised and how its foundational concepts were developed. We present the seminal papers on four main activities of the RE process, namely (i) elicitation, (ii) modelling & analysis, (iii) as- surance, and (iv) management & evolution. We also discuss some current research challenges in the area, including security requirements engineering as well as RE for mobile and ubiquitous computing. Finally, we identify some open challenges and research gaps that require further exploration

    Requirements prioritisation: an experiment on exhaustive pair-wise comparisons versus planning game partitioning

    No full text
    The process of selecting the right set of requirements for a product release is highly dependent on how well we succeed in prioritising the requirements candidates. There are different techniques available for requirements prioritisation, some more elaborate than others. In order to compare different techniques, a controlled experiment was conducted with the objective of understanding differences regarding time consumption, ease of use, and accuracy. The requirements prioritisation techniques compared in the experiment are the analytical hierarchy process (AHP) and a variation of the planning game (PG), isolated from extreme programming. The subjects were 15 Ph.D. students and one professor, who prioritised mobile phone features using both methods. It was found that the straightforward and intuitive PG was less time consuming, and considered by the subjects as easier to use, and more accurate than AH

    Prioritizing Non-functional Concerns in MAMIE Methodology

    No full text

    Research Preview: Prioritizing Quality Requirements Based on Software Architecture Evaluation Feedback

    No full text
    Context and motivation Quality requirements are a main driver for architectural decisions of software systems. Although the need for iterative handling of requirements and architecture has been identified, current architecture design processes do not provide systematic, quantitative feedback for the prioritization and cost/benefit considerations for quality requirements. Question/problem Thus, in practice stakeholders still often state and prioritize quality requirements before knowing the software architecture, i.e. without knowledge about the quality dependencies, conflicts, incurred costs, and technical feasibility. However, as quality properties usually are cross-cutting architecture concerns, estimating the effects of design decisions is difficult. Thus, stakeholders cannot reliably know the appropriate required level of quality. Principal ideas/results In this research proposal, we suggest an approach to generate feedback from quantitative architecture evaluation to requirements engineering, in particular to requirements prioritization. We propose to use automated design space exploration techniques to generate information about available trade-offs. Final quality requirement prioritization is deferred until first feedback from architecture evaluation is available. Contribution In this paper, we present the process model of our approach enabling feedback to requirement prioritization and describe application scenarios and an example
    corecore